<?php

require_once '../db/Conexion.php';

$tipoListado = "TODOS";

//gestiona la accion solicitada 
function accion_controller() {
    $accion = FALSE;
    $ciudad_peticion = helper_data();
    $accion = $ciudad_peticion['accion'];
    if ($accion) {
        switch ($accion) {
            case 'save' :
                guardar($ciudad_peticion);
                break;
            case 'delete' :
                eliminar($ciudad_peticion['id']);
                break;
            case 'list' :
                listar();
                break;
            case 'edit' :
                editar($ciudad_peticion['id']);
                break;
        }
    } else {
        die("ERROR: No se recibieron los parametros correspondientes.");
    }
}

//OBTIENE LOS DATOS DE POST
function helper_data() {
     global $tipoListado;
    $ciudad = array();

    if (isset($_POST['id']))
        $ciudad['id'] = $_POST['id'];
    if (isset($_POST['nombre']))
        $ciudad['nombre'] = strtoupper($_POST['nombre']);
    if (isset($_POST['sigla']))
        $ciudad['sigla'] = strtoupper($_POST['sigla']);
    if (isset($_POST['pais_id']))
        $ciudad['pais_id'] = $_POST['pais_id'];


    if (isset($_POST['tipoListado']))
        $tipoListado = $_POST['tipoListado'];
    if (isset($_POST['accion']))
        $ciudad['accion'] = $_POST['accion'];
    return $ciudad;
}

//LISTADO
function listar() {
    global $tipoListado;

    $paises = consultar("Select id, nombre from paises ");
    $consulta="Select * from ciudades ";
    if ($tipoListado != "TODOS" ) {
        $consulta .= " where  pais_id = " . $tipoListado;
    }
    $ciudades = consultar($consulta);
    require_once '../view/ciudad/ListCiudades.php';
}

//GUARDAR
function guardar($ciudad_peticion) {
    if (!$ciudad_peticion['id']) {
        $query = "INSERT INTO ciudades ( nombre,  pais_id, sigla) VALUES
                        (  '" . $ciudad_peticion['nombre'] . "',
                           '" . $ciudad_peticion['pais_id'] . "',
                           '" . $ciudad_peticion['sigla'] . "');";
    } else {
        $query = "UPDATE ciudades 
                                 SET nombre='" . $ciudad_peticion['nombre'] . "',
                                     pais_id='" . $ciudad_peticion['pais_id'] . "',  
                                     sigla='" . $ciudad_peticion['sigla'] . "'
                                 WHERE id=" . $ciudad_peticion['id'] . " LIMIT 1;";
    }
    if (ejecutar($query)) {
        listar();
    } else {
        die("Error: No se pudo Guardar el Registro!");
    }
}

//ELIMINAR
function eliminar($id) {
    $query = "DELETE FROM ciudades WHERE id=" . $id . " LIMIT 1;";
    if (ejecutar($query)) {
        listar();
    } else {
        echo "Error: No se puede Eliminar este registro";
    }
}

//EDITAR
function editar($id) {
    $query = "Select * from ciudades where id=" . $id;
    $ciudad = consultar($query);
    $queryPaises = "Select * from paises ";
    $paises = consultar($queryPaises);
    require_once '../view/ciudad/FormCiudad.php';
}

accion_controller();
?>
